package com.daoliuhe.scaffold.model;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;
import java.util.Set;

public class CascadeList extends Pagable {

    private BigDecimal id;

    private BigDecimal mainListId;

    private String mainListName;

    private String mainListApiName;

    private String mainListType;

    private BigDecimal slaveListId;

    private String slaveListName;

    private String slaveListApiName;

    private String slaveListType;

    private BigDecimal mainListEntryId;

    /**
     * 主列表ID的集合（多选）
     */
    private Set<String> mainListEntryIds;

    private String mainListEntryValue;

    private String slaveListEntryId;

    private String slaveListEntryValue;

    /**
     * 从列表包含id和value的集合
     */
    private Map<String, String> slaveListEntryValues;

    private BigDecimal creator;

    private String creatorName;

    private BigDecimal updateUser;

    private String updateUserName;

    /**
     * 级联关系 是否启用
     */
    private String enabled;

    /**
     * 级联关系中从列表项 是否启用
     */
    private String slaveEntryValueEnabled;

    /**
     * 控制不同的产品线中的【平台/方案】是否必填,(必填1，不必填0)
     */
    private String required;

    private Date createTime;

    private Date updateTime;

    public BigDecimal getId() {
        return id;
    }

    public void setId(BigDecimal id) {
        this.id = id;
    }

    public BigDecimal getMainListId() {
        return mainListId;
    }

    public void setMainListId(BigDecimal mainListId) {
        this.mainListId = mainListId;
    }

    public BigDecimal getSlaveListId() {
        return slaveListId;
    }

    public void setSlaveListId(BigDecimal slaveListId) {
        this.slaveListId = slaveListId;
    }

    public BigDecimal getMainListEntryId() {
        return mainListEntryId;
    }

    public void setMainListEntryId(BigDecimal mainListEntryId) {
        this.mainListEntryId = mainListEntryId;
    }

    public String getSlaveListEntryId() {
        return slaveListEntryId;
    }

    public void setSlaveListEntryId(String slaveListEntryId) {
        this.slaveListEntryId = slaveListEntryId;
    }

    public BigDecimal getCreator() {
        return creator;
    }

    public void setCreator(BigDecimal creator) {
        this.creator = creator;
    }

    public BigDecimal getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(BigDecimal updateUser) {
        this.updateUser = updateUser;
    }

    public String getEnabled() {
        return enabled;
    }

    public void setEnabled(String enabled) {
        this.enabled = enabled;
    }

    public String getSlaveEntryValueEnabled() {
        return slaveEntryValueEnabled;
    }

    public void setSlaveEntryValueEnabled(String slaveEntryValueEnabled) {
        this.slaveEntryValueEnabled = slaveEntryValueEnabled;
    }

    public String getRequired() {
        return required;
    }

    public void setRequired(String required) {
        this.required = required;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getMainListName() {
        return mainListName;
    }

    public void setMainListName(String mainListName) {
        this.mainListName = mainListName;
    }

    public String getMainListApiName() {
        return mainListApiName;
    }

    public void setMainListApiName(String mainListApiName) {
        this.mainListApiName = mainListApiName;
    }

    public String getMainListType() {
        return mainListType;
    }

    public void setMainListType(String mainListType) {
        this.mainListType = mainListType;
    }

    public String getSlaveListName() {
        return slaveListName;
    }

    public void setSlaveListName(String slaveListName) {
        this.slaveListName = slaveListName;
    }

    public String getSlaveListApiName() {
        return slaveListApiName;
    }

    public void setSlaveListApiName(String slaveListApiName) {
        this.slaveListApiName = slaveListApiName;
    }

    public String getSlaveListType() {
        return slaveListType;
    }

    public void setSlaveListType(String slaveListType) {
        this.slaveListType = slaveListType;
    }

    public String getMainListEntryValue() {
        return mainListEntryValue;
    }

    public void setMainListEntryValue(String mainListEntryValue) {
        this.mainListEntryValue = mainListEntryValue;
    }

    public String getSlaveListEntryValue() {
        return slaveListEntryValue;
    }

    public void setSlaveListEntryValue(String slaveListEntryValue) {
        this.slaveListEntryValue = slaveListEntryValue;
    }

    public String getCreatorName() {
        return creatorName;
    }

    public void setCreatorName(String creatorName) {
        this.creatorName = creatorName;
    }

    public String getUpdateUserName() {
        return updateUserName;
    }

    public void setUpdateUserName(String updateUserName) {
        this.updateUserName = updateUserName;
    }

    public Map<String, String> getSlaveListEntryValues() {
        return slaveListEntryValues;
    }

    public void setSlaveListEntryValues(Map<String, String> slaveListEntryValues) {
        this.slaveListEntryValues = slaveListEntryValues;
    }

    public Set<String> getMainListEntryIds() {
        return mainListEntryIds;
    }

    public void setMainListEntryIds(Set<String> mainListEntryIds) {
        this.mainListEntryIds = mainListEntryIds;
    }

    @Override
    public String toString() {
        return "CascadeList{" +
                "id=" + id +
                ", mainListId=" + mainListId +
                ", mainListName='" + mainListName + '\'' +
                ", mainListApiName='" + mainListApiName + '\'' +
                ", mainListType='" + mainListType + '\'' +
                ", slaveListId=" + slaveListId +
                ", slaveListName='" + slaveListName + '\'' +
                ", slaveListApiName='" + slaveListApiName + '\'' +
                ", slaveListType='" + slaveListType + '\'' +
                ", mainListEntryId=" + mainListEntryId +
                ", mainListEntryValue='" + mainListEntryValue + '\'' +
                ", slaveListEntryId='" + slaveListEntryId + '\'' +
                ", slaveListEntryValue='" + slaveListEntryValue + '\'' +
                ", slaveListEntryValues=" + slaveListEntryValues +
                ", creator=" + creator +
                ", creatorName='" + creatorName + '\'' +
                ", updateUser=" + updateUser +
                ", updateUserName='" + updateUserName + '\'' +
                ", enabled='" + enabled + '\'' +
                ", slaveEntryValueEnabled='" + slaveEntryValueEnabled + '\'' +
                ", required='" + required + '\'' +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                '}';
    }
}